﻿using System;
using System.Windows.Forms;

namespace MultipleChoice_ExamGenerator
{
    public partial class MainMenu : Form
    {
        /// <summary>
        /// Μεταβλητή που μας δείχνει αν ο χρήστης θέλει να κάνει Logout.
        /// Την χρησιμοποιούμε για να διαχωρίσουμε το logout απο το 
        /// closeButton. (X)
        /// </summary>
        private bool _logoutFlag;

        public MainMenu()
        {
            InitializeComponent();
            _logoutFlag = false;
        }

        private void logoutBT_Click(object sender, EventArgs e)
        {
            Logout();
        }

        private void MainMenu_FormClosed(object sender, FormClosedEventArgs e)
        {
            // Απλά δεν δουλεύει! :@
            //var button = sender as Button;
            //if (button != null && string.Equals(button.Name, @"CloseButton"))
            //    Application.Exit();

            if (!_logoutFlag)
            {
                Application.Exit();
            }
        }

        /// <summary>
        /// Με αυτή την μέθοδο πραγματοποιείται η αποσύνδεση.
        /// Δηλαδή η μετάβαση απο την φόρμα MainMenu στη φόρμα
        /// Login και η διαγραφή του τρέχων ενεργού Author.
        /// </summary>
        private void Logout()
        {
            _logoutFlag = true;
            ActiveAuthor.DeleteCurrentAuthor();
            var lf = (LoginForm)Tag;
            lf.Show();
            Close();
        }

        private void viewProfileBT_Click(object sender, EventArgs e)
        {
            var viewProfile = new ViewProfile();
            viewProfile.ShowDialog();
        }

        private void editProfileBT_Click(object sender, EventArgs e)
        {
            var ep = new EditProfile();
            ep.ShowDialog();
        }

        private void aboutBT_Click(object sender, EventArgs e)
        {
            var ab = new AboutBox();
            ab.ShowDialog();
        }

        private void newQuestionBT_Click(object sender, EventArgs e)
        {
            var newQuestion = new NewQuestion();
            newQuestion.ShowDialog();
        }

        private void newTestBT_Click(object sender, EventArgs e)
        {
            var newTest = new New_Test();
            newTest.ShowDialog();
        }

        private void viewAllQuestionsBT_Click(object sender, EventArgs e)
        {
            var viewAllQuestions = new View_All_Questions();
            viewAllQuestions.ShowDialog();
        }

        private void contactBT_Click(object sender, EventArgs e)
        {
            var contactUs = new Contact_Us();
            contactUs.ShowDialog();
        }

        private void openTestBT_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Your License Has Expired");
        }
    }
}
